Technologies that address the problem of integrating existing computer and communication systems with new systems in an organized, efficient, and economically scaleable manner can be referred to collectively as Enterprise Application Integration (EAI). The software engineering discipline that addresses EAI and the underlying integration issue is the domain of enterprise architecture. Architectural engineers typically realize architectures by specifying the components to be used (hardware, software, network, etc.); depicting how the components fit together (where and when in the process); clearly defining the interfaces and boundaries between components; setting guidelines and standards; and determining the layers, services, dependencies, and abstraction levels.